In the current graphics intensive industries of computer aided drafting and simulation, it is common to encounter resulting files that are so large they can take hundreds of hours to render. Likewise, it can be desirable to transfer those very large files from location to location for numerous reasons, e.g., programming, presentation or development. In a multi-site distributed network it is necessary to have those large files available to all who contribute to it. A common method for distribution uses peer-to-peer networks such as BitTorrent that downloads portions of the large file in anticipation of all the pieces being available for eventual combination into the large file. This technique is also referred to as caching as is seen with memory techniques to speed computer performance.
The drawback with the aforesaid peer-to-peer networks is the end result is always the whole file, the partial file fragments are an intermediate artifact of the larger file transfer. In this type of caching technique, partial file contents are not useful by themselves.
What is needed is a system that exposes fragments of files as primary objects to applications that can take advantage of those fragments, or logical sections of their data files, and manage and cache those fragments at all points of the system for enhanced performance and throughput.